#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
MongoDB 数据库工具类
"""

import logging
from app.database import get_db_client

logger = logging.getLogger(__name__)

def analyze_indexes(collection_name):
    """
    分析指定集合的现有索引
    :param collection_name: 集合名称
    :return: 索引信息的列表
    """
    client = get_db_client()
    if not client:
        logger.error(f"无法获取 MongoDB 客户端，无法分析 {collection_name} 集合的索引。")
        return []

    try:
        db = client.get_database()  # 获取当前数据库实例
        collection = db[collection_name]
        indexes = collection.list_indexes()
        index_info = []
        for index in indexes:
            index_info.append(index)
        logger.info(f"成功分析集合 {collection_name} 的索引: {len(index_info)} 个索引。")
        return index_info
    except Exception as e:
        logger.error(f"分析集合 {collection_name} 索引时发生错误: {e}")
        return []
